A common use of computers is preparation of personalized documents. Personalized documents are, generally, a set of documents, such as form letters, which include information which is shared by all of the documents, such as the body of a form letter, and information which is unique to each document, such as a name and address for a recipient of a form letter. The shared data generally is called "fixed" data or information, whereas the unique data generally is called "variable" data or information. Personalized documents may be simple, such as form letters, or complex, such as a catalog with item descriptions or prices individually targeted to each customer.
The general problem addressed in any computer system which generates personalized documents is how to merge variable information with fixed information while printing in volume at a reasonable speed.
In some systems, variable information is merged with fixed information prior to formatting of the merged data for printing. For example, a word processing program may have a feature which creates multiple documents, such as form letters, by filling in a template (fixed information) with variable information, e.g., addresses, taken from another data file to create a set of personalized documents. Such a feature often is called a "mail merge" operation. Using such a feature, however, results in duplicative processing of the fixed information when each personalized document is actually printed.
Many other commercially available computer systems which control electronic printing systems to prepare personalized documents are designed based on analogies to mechanical printing systems. In mechanical printing systems, fixed information generally is printed first, and variable information is then printed in specified regions within the fixed information. In electronic printing systems, fixed content is processed as a raster image in a frame buffer used by a printing engine. Variable data for each personalized document is placed in the raster image by specifying a region of the frame buffer to be modified, and modifying the contents of the frame buffer with the variable data for the specified region for the currently processed document. As a result, a raster image processor or other application providing the variable data must be specialized so that it may specify particular regions of the frame buffer which will be modified. As a result, such systems tend to be cumbersome, expensive and require content to be generated by only specialized applications which are capable of specifying regions of a frame buffer. Because of such limitations, these systems often require special operator training.